/*
 *  $Id: Undying.cs 975 2009-12-16 17:13:22Z thenn.erannor $
 *	This file is a part of Ragima CCG.
 *	(C) 2008 Ragima development group.
 *
 *	Licensed under the terms of the GNU GPL License version 2.
 *
 */

using System;

namespace Ragima.Affects {
    /// <summary>
    /// Эффект: неупокоенность
    /// Параметр: Число существ после данного.
    /// Если в могильнике после него находятся еще Х существ, то в начале хода хозяина воскресает на любую свободную клетку (если таковые есть, иначе остается в могиле).
    /// </summary>
    public class Undying: Affect {
        public readonly int Value;

        public Undying(int value) {
            Value = value;
        }

        public override string Id {
            get { return "undying"; }
        }
        public override string NameText {
            get { return Name.GetText(Value); }
        }
        public override ElementType Element {
            get { return ElementType.Darkness; }
        }

        public override string DescriptionText {
            get { return Description.GetText(Value); }
        }

        public override int BaseWeight {
            get { return Math.Max(100 - Value*20, 20); }
        }

        public override AffectIcon Icon {
            get { return AffectIcon.Undying; }
        }

        public override bool Dispellable {
            get { return false; }
        }

        public override Affect Clone() {
            return new Undying(Value);
        }

        public override void SetAffect() {
            base.SetAffect();
            LocalSummary.Undying.Add(this);
        }
        public override void ResetAffect() {
            base.ResetAffect();
            LocalSummary.Undying.Remove(this);
        }

        public static int Comparison(Undying a, Undying b) {
            return a.Value.CompareTo(b.Value);
        }
    }
}